package top.yamhk.agent.entity.dto;

/**
 * 总体来说设计模式分为三大类：(其实还有两类：并发型模式和线程池模式)
 * 创建型模式，共五种：工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式)
 * 结构型模式，共七种：适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
 * 行为型模式，共十一种：策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
 * #设计模式的六大原则
 * 总原则：开闭原则（Open Close Principle)
 * 1、单一职责原则
 * 2、里氏替换原则（Liskov Substitution Principle)
 * 3、依赖倒置原则（Dependence Inversion Principle)
 * 4、接口隔离原则（Interface Segregation Principle)
 * 5、迪米特法则（最少知道原则）（Demeter Principle)
 * 6、合成复用原则（Composite Reuse Principle)
 * #A、创建模式
 * 0、简单工厂模式(普通简单工厂、多方法简单工厂、静态方法简单工厂)
 * 1、工厂方法模式（Factory Method)
 * 2、抽象工厂模式
 * 3、单例模式（Singleton)
 * 4、建造者模式（Builder)
 * 5、原型模式（Prototype)
 * #B、结构模式（7种）
 * 6、适配器模式
 * 7、装饰模式（Decorator)持有以及构造方法传参增强方法,实现同一接口)
 * 8、代理模式（Proxy)持有以及无参构造增强方法,实现同一接口)
 * 9、外观模式（Facade)持有多个以及无参构造组合方法)
 * 10、桥接模式（Bridge)持有以及set传参)
 * 11、组合模式（Composite)持有以及有参(非对象)构造)
 * 12、享元模式（Flyweight)持有多个以及无参构造)
 * #C、关系模式（11种）
 * 13、策略模式（strategy)实质是调用接口的不同实现类的方法)
 * 14、模板方法模式（Template Method)实质是调用抽象类的不同子类的方法)
 * 15、观察者模式（Observer)订阅通知)
 * 16、迭代子模式（Iterator)
 * 17、责任链模式（Chain of Responsibility)
 * 18、命令模式（Command)
 * 19、备忘录模式（Memento)方法与构造方法的嵌套调用)
 * 20、状态模式（State)持有状态实体根据不同状态调用不同方法)
 * 21、访问者模式（Visitor)两个实体之间方法的嵌套调用,入参都是实体)
 * 22、中介者模式（Mediator)(持有多个对象,入参是自己)
 * 23、解释器模式（Interpreter)方法与构造方法的嵌套调用)
 * @author YamHK
 * @date 2021/5/16 11:08
 */
public class TwentyThree {
}
